package factorymethod.impl.factory;
import factorymethod.impl.product.FruitProduct;
import factorymethod.impl.product.Product;


public class FruitFactory extends Factory {

	 //重定义工厂方法，返回一个具体的Product对象
	// 刚方法虽然可以为外部提供一个实例产品 对象， 但一般只为工厂内部服务。
	@Override
	public Product factoryMethod() {
	  return new FruitProduct();
	}

	
	//模式2： 带参工厂方式，传人实现了Product接口实体类的
	//       这样便返回
	/* (non-Javadoc)
	 * @see Factory#factoryMethod(java.lang.Class)
	 */
	@Override
	public Product factoryMethod(Class<? extends Product> c) {
		
	     return null;
		/*	Product product=null;
		 
		try {
		    //产生一种产品
		     product = (Product)Class.forName(c.getName()).newInstance();
		     } 
		catch (Exception e)
		{
		  System.out.println("反射生成错误！");
		}
		return product;
		 */
		}

}
